package com.xydtech.workflow.mapper;

import com.xydtech.workflow.domain.WflFlowdefine;

import java.util.List;

/**
 * 流程定义Mapper接口
 *
 * @author JHON
 * @date 2021-04-11
 */
public interface WflFlowdefineMapper {
    /**
     * 查询流程定义
     *
     * @param flowId 流程定义ID
     * @return 流程定义
     */
    public WflFlowdefine selectWflFlowdefineById(Long flowId);

    /**
     *根据流程流程类型和法人机构查询流程信息
     * @Title: selectWflFlowdefineByFlowType
     * @param wflFlowdefine
     * @return java.util.List<com.xydtech.workflow.domain.WflFlowdefine>
     * @exception
     * @author JHON
     * @Date 2022/5/11 16:52
     **/
    public List<WflFlowdefine> selectFlowdefineByFlowType(WflFlowdefine wflFlowdefine);

    /**
     * 查询流程定义列表
     *
     * @param wflFlowdefine 流程定义
     * @return 流程定义集合
     */
    public List<WflFlowdefine> selectWflFlowdefineList(WflFlowdefine wflFlowdefine);

    /**
     * 新增流程定义
     *
     * @param wflFlowdefine 流程定义
     * @return 结果
     */
    public int insertWflFlowdefine(WflFlowdefine wflFlowdefine);

    /**
     * 复制流程定义
     *
     * @param wflFlowdefine 流程定义
     * @return 结果
     */
    public int copyWflFlowdefine(WflFlowdefine wflFlowdefine);

    /**
     * 修改流程定义
     *
     * @param wflFlowdefine 流程定义
     * @return 结果
     */
    public int updateWflFlowdefine(WflFlowdefine wflFlowdefine);

    /**
     * 删除流程定义
     *
     * @param flowId 流程定义ID
     * @return 结果
     */
    public int deleteWflFlowdefineById(Long flowId);

    /**
     * 批量删除流程定义
     *
     * @param flowIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteWflFlowdefineByIds(String[] flowIds);
}
